﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Hexa.Core.Domain;

namespace Hexa.QuestionEngine.Domain
{
    [Serializable]
    public class SurveyQuestion : AuditableEntity<SurveyQuestion>
    {
        public SurveyQuestion()
        {
            _surveyQuestionChoices = new List<SurveyQuestionChoice>();
        }

        public virtual SurveySection SurveySection { get; set; }

        public virtual SurveyQuestionType QuestionType { get; set; }

        public virtual string Question { get; set; }

        public virtual int RequiredChoices { get; set; }

        public virtual bool IsNumeric { get; set; }

        public virtual int DecimalsAllowed { get; set; }

        public virtual int MaxLength { get; set; }

        public virtual string MinValueLabel { get; set; }

        public virtual string MaxValueLabel { get; set; }

        public virtual bool IsRequired { get; set; }

        public virtual int SortKey { get; set; }

        private IList<SurveyQuestionChoice> _surveyQuestionChoices;

        public virtual IList<SurveyQuestionChoice> SurveyQuestionChoices
        {
            get { return _surveyQuestionChoices; }
        }
    }
}
